// 1.在普通函数前面加上promise关键字,普通函数就变成了异步函数
// 2.异步函数默认的返回值是promise对象
// 3.在异步函数中使用throw关键字进行错误抛出
async function fn(){
	throw '发生了一些错误';
	return 123;
}
fn().then((data) => {
	console.log(data);
}).catch((err) => {
	console.log(err);
});
// 1.await只能出现在异步函数中
// 2.await后面只能写promise对象,写其它类型的api是不可以的
// 3.await暂停异步函数向下执行,直到promise返回结果
async function p1(){
	return 'p1';
}
async function p2(){
	return 'p2';
}
async function p3(){
	return 'p3';
}
async function run(){
	let r1 = await p1();
	let r2 = await p2();
	let r3 = await p3();
	console.log(r1, r2, r3);
}
run();